この導入セッションでは、混沌とした 「保存-として」文化 バージョン管理システム(VCS)を変更管理のための専門的なツールとして定義します。初期の手動によるファイル複製——例えば my-term-paper-2.doc——といったもので例示される——から、歴史を論理的なスナップショットの連続として扱う構造的なシステムへの移行を検討します。
1. サフィックスの罠
正式なVCSが登場する前は、バージョン管理は手動で行われるため、エラーが発生しやすく、ファイル名の付け替えルール(例:日付や「最終版」タグを追加するなど)に依存していました。これにより必然的に ファイルのエントロピー とデータ損失が生じます。なぜならユーザーがファイル間の違いを記憶する責任を負っているからです。
2. 構造的スナップショット
組織化の初期の試みには 「フォルダスタック」法——プロジェクトファイルを垂直方向の階層構造に手動で移動させ、v1.0、v2.0、v2.1というラベルを付ける方法がありました。これにより時系列の記録は得られますが、 原子的整合性 および 監査可能性が欠けています。
3. 解決策の定義
定義: Gitは、ファイルの変更管理という一つの目的のために設計されたバージョン管理システム(VCS)です。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>